x86/ACPI: invalidate BGRT if necessary
authorJan Beulich <jbeulich@suse.com>
Thu, 8 Nov 2012 09:53:41 +0000 (10:53 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 8 Nov 2012 09:53:41 +0000 (10:53 +0100)
commit89238ef7797023f318f82f4f9dddef59c435b8bd
treea219e1cb6429f1b481021edd009e0af5de2e833c
parent21a80b2bf97a76d0932b45a35af918b3409e77c1
x86/ACPI: invalidate BGRT if necessary

Since the image pointed to may live in boot services memory (which we
add to the global memory pool long before ACPI tables get looked at),
we should prevent Dom0 from trying to retrieve the image data in that
case.

The alternatives would be to
- not add boot services memory to the global pool at all, or
- defer adding boot services memory until Dom0 indicates it is safe to
  do so, or
- find and parse the BGRT table in xen/arch/x86/efi/boot.c, and avoid
  adding that specific region to the E820 table.
None of these are really attractive, and as Xen commonly prints to the
video console anyway (without trying to avoid any regions on the
screen), the invalidation would need to be done conditionally anyway.

(xen/include/acpi/actbl3.h is a verbatim copy from Linux 3.7-rc4)

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
xen/arch/x86/acpi/boot.c
xen/include/acpi/actbl.h
xen/include/acpi/actbl3.h [new file with mode: 0644]